package controller;

import javax.swing.JOptionPane;

import model.ContaDAO;

/**
*
* @author Juliane
*/
public class ContaCorrente extends Conta {
    private double limite;

    public ContaCorrente() {
    }
    
    public ContaCorrente(int nconta, double depini, double saldo, double limite) {
        super.setNconta(nconta);
        super.setDepini(depini);
        super.setSaldo(saldo);        
        this.limite = limite;        
    }
    
    public double getLimite() {
        return limite;
    }

    public void setLimite(double limite) {
        this.limite = limite;
    }

    @Override
    public boolean saca(double valor) throws Exception{
        double novosaldo = (super.getSaldo() + this.limite) - valor;                
        if(novosaldo >= 0){
            if (super.saca(valor))
                return true;
            else{
            	//mostrar mensagem de erro (valor negativo)
                JOptionPane.showMessageDialog(null, "Valor de saque inválido.","Atenção!", JOptionPane.ERROR_MESSAGE);
                return false;
            }
        } else {     
                JOptionPane.showMessageDialog(null, "Saldo insuficiente.","Atenção!", JOptionPane.ERROR_MESSAGE);
        	return false;
        }        
    }
    
    public void remunera()throws Exception{
        super.setSaldo(super.getSaldo() * 1.01);
        //adicionar o dao pra salvar alteracao no banco
        ContaDAO contDAO = new ContaDAO();
        contDAO.atualizaConta(this);
    }   
}
